/**
 * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.crossriver.crgis.database.service;

import com.crossriver.crgis.database.model.Application_C_of_OClp;
import com.crossriver.crgis.database.model.Bank_Payment_SlipClp;
import com.crossriver.crgis.database.model.Company_Contact_PersonClp;
import com.crossriver.crgis.database.model.Contact_InformationClp;
import com.crossriver.crgis.database.model.DocumentsClp;
import com.crossriver.crgis.database.model.Held_PlotsClp;
import com.crossriver.crgis.database.model.History_Of_InformationClp;
import com.crossriver.crgis.database.model.Individual_InformationClp;
import com.crossriver.crgis.database.model.Organisation_InformationClp;
import com.crossriver.crgis.database.model.Property_InformationClp;
import com.crossriver.crgis.database.model.Supporting_DocumentClp;
import com.crossriver.crgis.database.model.TransactionsClp;

import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.model.BaseModel;

import java.lang.reflect.Method;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author Brian Wing Shun Chan
 */
public class ClpSerializer {
	public static final String SERVLET_CONTEXT_NAME = "CRGISTransactionCofO-portlet";

	public static void setClassLoader(ClassLoader classLoader) {
		_classLoader = classLoader;
	}

	public static Object translateInput(BaseModel<?> oldModel) {
		Class<?> oldModelClass = oldModel.getClass();

		String oldModelClassName = oldModelClass.getName();

		if (oldModelClassName.equals(Application_C_of_OClp.class.getName())) {
			Application_C_of_OClp oldCplModel = (Application_C_of_OClp)oldModel;

			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Class<?> newModelClass = Class.forName("com.crossriver.crgis.database.model.impl.Application_C_of_OImpl",
							true, _classLoader);

					Object newModel = newModelClass.newInstance();

					Method method0 = newModelClass.getMethod("setApplicationId",
							new Class[] { String.class });

					String value0 = oldCplModel.getApplicationId();

					method0.invoke(newModel, value0);

					Method method1 = newModelClass.getMethod("setUserId",
							new Class[] { String.class });

					String value1 = oldCplModel.getUserId();

					method1.invoke(newModel, value1);

					Method method2 = newModelClass.getMethod("setApplicationStartDate",
							new Class[] { Date.class });

					Date value2 = oldCplModel.getApplicationStartDate();

					method2.invoke(newModel, value2);

					Method method3 = newModelClass.getMethod("setDateOfApplication",
							new Class[] { Date.class });

					Date value3 = oldCplModel.getDateOfApplication();

					method3.invoke(newModel, value3);

					Method method4 = newModelClass.getMethod("setFileNo",
							new Class[] { String.class });

					String value4 = oldCplModel.getFileNo();

					method4.invoke(newModel, value4);

					Method method5 = newModelClass.getMethod("setOldCofONo",
							new Class[] { String.class });

					String value5 = oldCplModel.getOldCofONo();

					method5.invoke(newModel, value5);

					Method method6 = newModelClass.getMethod("setApplication",
							new Class[] { String.class });

					String value6 = oldCplModel.getApplication();

					method6.invoke(newModel, value6);

					Method method7 = newModelClass.getMethod("setApplicationType",
							new Class[] { String.class });

					String value7 = oldCplModel.getApplicationType();

					method7.invoke(newModel, value7);

					Method method8 = newModelClass.getMethod("setDateOfIssuance",
							new Class[] { Date.class });

					Date value8 = oldCplModel.getDateOfIssuance();

					method8.invoke(newModel, value8);

					Method method9 = newModelClass.getMethod("setPreviousCofONumber",
							new Class[] { String.class });

					String value9 = oldCplModel.getPreviousCofONumber();

					method9.invoke(newModel, value9);

					Method method10 = newModelClass.getMethod("setLandUseType",
							new Class[] { String.class });

					String value10 = oldCplModel.getLandUseType();

					method10.invoke(newModel, value10);

					Method method11 = newModelClass.getMethod("setLandUsePurpose",
							new Class[] { String.class });

					String value11 = oldCplModel.getLandUsePurpose();

					method11.invoke(newModel, value11);

					Method method12 = newModelClass.getMethod("setAttestation",
							new Class[] { String.class });

					String value12 = oldCplModel.getAttestation();

					method12.invoke(newModel, value12);

					Method method13 = newModelClass.getMethod("setStatus",
							new Class[] { String.class });

					String value13 = oldCplModel.getStatus();

					method13.invoke(newModel, value13);

					Method method14 = newModelClass.getMethod("setReferenceNo",
							new Class[] { String.class });

					String value14 = oldCplModel.getReferenceNo();

					method14.invoke(newModel, value14);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(Supporting_DocumentClp.class.getName())) {
			Supporting_DocumentClp oldCplModel = (Supporting_DocumentClp)oldModel;

			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Class<?> newModelClass = Class.forName("com.crossriver.crgis.database.model.impl.Supporting_DocumentImpl",
							true, _classLoader);

					Object newModel = newModelClass.newInstance();

					Method method0 = newModelClass.getMethod("setDocumentId",
							new Class[] { String.class });

					String value0 = oldCplModel.getDocumentId();

					method0.invoke(newModel, value0);

					Method method1 = newModelClass.getMethod("setApplicationId",
							new Class[] { String.class });

					String value1 = oldCplModel.getApplicationId();

					method1.invoke(newModel, value1);

					Method method2 = newModelClass.getMethod("setUserId",
							new Class[] { String.class });

					String value2 = oldCplModel.getUserId();

					method2.invoke(newModel, value2);

					Method method3 = newModelClass.getMethod("setFileName",
							new Class[] { String.class });

					String value3 = oldCplModel.getFileName();

					method3.invoke(newModel, value3);

					Method method4 = newModelClass.getMethod("setDocumentName",
							new Class[] { String.class });

					String value4 = oldCplModel.getDocumentName();

					method4.invoke(newModel, value4);

					Method method5 = newModelClass.getMethod("setRequired",
							new Class[] { String.class });

					String value5 = oldCplModel.getRequired();

					method5.invoke(newModel, value5);

					Method method6 = newModelClass.getMethod("setDocumentType",
							new Class[] { String.class });

					String value6 = oldCplModel.getDocumentType();

					method6.invoke(newModel, value6);

					Method method7 = newModelClass.getMethod("setDocumentUpload",
							new Class[] { String.class });

					String value7 = oldCplModel.getDocumentUpload();

					method7.invoke(newModel, value7);

					Method method8 = newModelClass.getMethod("setUploadedDate",
							new Class[] { Date.class });

					Date value8 = oldCplModel.getUploadedDate();

					method8.invoke(newModel, value8);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(DocumentsClp.class.getName())) {
			DocumentsClp oldCplModel = (DocumentsClp)oldModel;

			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Class<?> newModelClass = Class.forName("com.crossriver.crgis.database.model.impl.DocumentsImpl",
							true, _classLoader);

					Object newModel = newModelClass.newInstance();

					Method method0 = newModelClass.getMethod("setDocumentId",
							new Class[] { String.class });

					String value0 = oldCplModel.getDocumentId();

					method0.invoke(newModel, value0);

					Method method1 = newModelClass.getMethod("setUserId",
							new Class[] { String.class });

					String value1 = oldCplModel.getUserId();

					method1.invoke(newModel, value1);

					Method method2 = newModelClass.getMethod("setApplicationId",
							new Class[] { String.class });

					String value2 = oldCplModel.getApplicationId();

					method2.invoke(newModel, value2);

					Method method3 = newModelClass.getMethod("setDocumentUpload",
							new Class[] { String.class });

					String value3 = oldCplModel.getDocumentUpload();

					method3.invoke(newModel, value3);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(Individual_InformationClp.class.getName())) {
			Individual_InformationClp oldCplModel = (Individual_InformationClp)oldModel;

			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Class<?> newModelClass = Class.forName("com.crossriver.crgis.database.model.impl.Individual_InformationImpl",
							true, _classLoader);

					Object newModel = newModelClass.newInstance();

					Method method0 = newModelClass.getMethod("setApplicationId",
							new Class[] { String.class });

					String value0 = oldCplModel.getApplicationId();

					method0.invoke(newModel, value0);

					Method method1 = newModelClass.getMethod("setUserId",
							new Class[] { String.class });

					String value1 = oldCplModel.getUserId();

					method1.invoke(newModel, value1);

					Method method2 = newModelClass.getMethod("setTitle",
							new Class[] { String.class });

					String value2 = oldCplModel.getTitle();

					method2.invoke(newModel, value2);

					Method method3 = newModelClass.getMethod("setLastName",
							new Class[] { String.class });

					String value3 = oldCplModel.getLastName();

					method3.invoke(newModel, value3);

					Method method4 = newModelClass.getMethod("setFirstName",
							new Class[] { String.class });

					String value4 = oldCplModel.getFirstName();

					method4.invoke(newModel, value4);

					Method method5 = newModelClass.getMethod("setMiddleName",
							new Class[] { String.class });

					String value5 = oldCplModel.getMiddleName();

					method5.invoke(newModel, value5);

					Method method6 = newModelClass.getMethod("setDateOfBirth",
							new Class[] { Date.class });

					Date value6 = oldCplModel.getDateOfBirth();

					method6.invoke(newModel, value6);

					Method method7 = newModelClass.getMethod("setOccupation",
							new Class[] { String.class });

					String value7 = oldCplModel.getOccupation();

					method7.invoke(newModel, value7);

					Method method8 = newModelClass.getMethod("setGender",
							new Class[] { String.class });

					String value8 = oldCplModel.getGender();

					method8.invoke(newModel, value8);

					Method method9 = newModelClass.getMethod("setReligion",
							new Class[] { String.class });

					String value9 = oldCplModel.getReligion();

					method9.invoke(newModel, value9);

					Method method10 = newModelClass.getMethod("setEducation",
							new Class[] { String.class });

					String value10 = oldCplModel.getEducation();

					method10.invoke(newModel, value10);

					Method method11 = newModelClass.getMethod("setNationality",
							new Class[] { String.class });

					String value11 = oldCplModel.getNationality();

					method11.invoke(newModel, value11);

					Method method12 = newModelClass.getMethod("setStateOfOrigin",
							new Class[] { String.class });

					String value12 = oldCplModel.getStateOfOrigin();

					method12.invoke(newModel, value12);

					Method method13 = newModelClass.getMethod("setLga",
							new Class[] { String.class });

					String value13 = oldCplModel.getLga();

					method13.invoke(newModel, value13);

					Method method14 = newModelClass.getMethod("setMaritalStatus",
							new Class[] { String.class });

					String value14 = oldCplModel.getMaritalStatus();

					method14.invoke(newModel, value14);

					Method method15 = newModelClass.getMethod("setNoOfChildren",
							new Class[] { Integer.TYPE });

					Integer value15 = new Integer(oldCplModel.getNoOfChildren());

					method15.invoke(newModel, value15);

					Method method16 = newModelClass.getMethod("setIdentificationDoc",
							new Class[] { String.class });

					String value16 = oldCplModel.getIdentificationDoc();

					method16.invoke(newModel, value16);

					Method method17 = newModelClass.getMethod("setIdentificationDocNo",
							new Class[] { String.class });

					String value17 = oldCplModel.getIdentificationDocNo();

					method17.invoke(newModel, value17);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(
					Organisation_InformationClp.class.getName())) {
			Organisation_InformationClp oldCplModel = (Organisation_InformationClp)oldModel;

			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Class<?> newModelClass = Class.forName("com.crossriver.crgis.database.model.impl.Organisation_InformationImpl",
							true, _classLoader);

					Object newModel = newModelClass.newInstance();

					Method method0 = newModelClass.getMethod("setApplicationId",
							new Class[] { String.class });

					String value0 = oldCplModel.getApplicationId();

					method0.invoke(newModel, value0);

					Method method1 = newModelClass.getMethod("setUserId",
							new Class[] { String.class });

					String value1 = oldCplModel.getUserId();

					method1.invoke(newModel, value1);

					Method method2 = newModelClass.getMethod("setOrganisationName",
							new Class[] { String.class });

					String value2 = oldCplModel.getOrganisationName();

					method2.invoke(newModel, value2);

					Method method3 = newModelClass.getMethod("setNatureOfBusiness",
							new Class[] { String.class });

					String value3 = oldCplModel.getNatureOfBusiness();

					method3.invoke(newModel, value3);

					Method method4 = newModelClass.getMethod("setRegNo",
							new Class[] { String.class });

					String value4 = oldCplModel.getRegNo();

					method4.invoke(newModel, value4);

					Method method5 = newModelClass.getMethod("setCountryOfReg",
							new Class[] { String.class });

					String value5 = oldCplModel.getCountryOfReg();

					method5.invoke(newModel, value5);

					Method method6 = newModelClass.getMethod("setDateOfRegistration",
							new Class[] { Date.class });

					Date value6 = oldCplModel.getDateOfRegistration();

					method6.invoke(newModel, value6);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(Contact_InformationClp.class.getName())) {
			Contact_InformationClp oldCplModel = (Contact_InformationClp)oldModel;

			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Class<?> newModelClass = Class.forName("com.crossriver.crgis.database.model.impl.Contact_InformationImpl",
							true, _classLoader);

					Object newModel = newModelClass.newInstance();

					Method method0 = newModelClass.getMethod("setApplicationId",
							new Class[] { String.class });

					String value0 = oldCplModel.getApplicationId();

					method0.invoke(newModel, value0);

					Method method1 = newModelClass.getMethod("setUserId",
							new Class[] { String.class });

					String value1 = oldCplModel.getUserId();

					method1.invoke(newModel, value1);

					Method method2 = newModelClass.getMethod("setHouseNo",
							new Class[] { String.class });

					String value2 = oldCplModel.getHouseNo();

					method2.invoke(newModel, value2);

					Method method3 = newModelClass.getMethod("setAddressLine1",
							new Class[] { String.class });

					String value3 = oldCplModel.getAddressLine1();

					method3.invoke(newModel, value3);

					Method method4 = newModelClass.getMethod("setAddressLine2",
							new Class[] { String.class });

					String value4 = oldCplModel.getAddressLine2();

					method4.invoke(newModel, value4);

					Method method5 = newModelClass.getMethod("setCity",
							new Class[] { String.class });

					String value5 = oldCplModel.getCity();

					method5.invoke(newModel, value5);

					Method method6 = newModelClass.getMethod("setState",
							new Class[] { String.class });

					String value6 = oldCplModel.getState();

					method6.invoke(newModel, value6);

					Method method7 = newModelClass.getMethod("setCountry",
							new Class[] { String.class });

					String value7 = oldCplModel.getCountry();

					method7.invoke(newModel, value7);

					Method method8 = newModelClass.getMethod("setPhoneHome",
							new Class[] { String.class });

					String value8 = oldCplModel.getPhoneHome();

					method8.invoke(newModel, value8);

					Method method9 = newModelClass.getMethod("setPhoneOffice",
							new Class[] { String.class });

					String value9 = oldCplModel.getPhoneOffice();

					method9.invoke(newModel, value9);

					Method method10 = newModelClass.getMethod("setPhoneMobile",
							new Class[] { String.class });

					String value10 = oldCplModel.getPhoneMobile();

					method10.invoke(newModel, value10);

					Method method11 = newModelClass.getMethod("setFax",
							new Class[] { String.class });

					String value11 = oldCplModel.getFax();

					method11.invoke(newModel, value11);

					Method method12 = newModelClass.getMethod("setPoBox",
							new Class[] { String.class });

					String value12 = oldCplModel.getPoBox();

					method12.invoke(newModel, value12);

					Method method13 = newModelClass.getMethod("setLga",
							new Class[] { String.class });

					String value13 = oldCplModel.getLga();

					method13.invoke(newModel, value13);

					Method method14 = newModelClass.getMethod("setEmailAddress",
							new Class[] { String.class });

					String value14 = oldCplModel.getEmailAddress();

					method14.invoke(newModel, value14);

					Method method15 = newModelClass.getMethod("setOtherInformation",
							new Class[] { String.class });

					String value15 = oldCplModel.getOtherInformation();

					method15.invoke(newModel, value15);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(Company_Contact_PersonClp.class.getName())) {
			Company_Contact_PersonClp oldCplModel = (Company_Contact_PersonClp)oldModel;

			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Class<?> newModelClass = Class.forName("com.crossriver.crgis.database.model.impl.Company_Contact_PersonImpl",
							true, _classLoader);

					Object newModel = newModelClass.newInstance();

					Method method0 = newModelClass.getMethod("setApplicationId",
							new Class[] { String.class });

					String value0 = oldCplModel.getApplicationId();

					method0.invoke(newModel, value0);

					Method method1 = newModelClass.getMethod("setUserId",
							new Class[] { String.class });

					String value1 = oldCplModel.getUserId();

					method1.invoke(newModel, value1);

					Method method2 = newModelClass.getMethod("setDesignation",
							new Class[] { String.class });

					String value2 = oldCplModel.getDesignation();

					method2.invoke(newModel, value2);

					Method method3 = newModelClass.getMethod("setTitle",
							new Class[] { String.class });

					String value3 = oldCplModel.getTitle();

					method3.invoke(newModel, value3);

					Method method4 = newModelClass.getMethod("setLastName",
							new Class[] { String.class });

					String value4 = oldCplModel.getLastName();

					method4.invoke(newModel, value4);

					Method method5 = newModelClass.getMethod("setFirstName",
							new Class[] { String.class });

					String value5 = oldCplModel.getFirstName();

					method5.invoke(newModel, value5);

					Method method6 = newModelClass.getMethod("setMiddleName",
							new Class[] { String.class });

					String value6 = oldCplModel.getMiddleName();

					method6.invoke(newModel, value6);

					Method method7 = newModelClass.getMethod("setPhoneHome",
							new Class[] { String.class });

					String value7 = oldCplModel.getPhoneHome();

					method7.invoke(newModel, value7);

					Method method8 = newModelClass.getMethod("setPhoneOffice",
							new Class[] { String.class });

					String value8 = oldCplModel.getPhoneOffice();

					method8.invoke(newModel, value8);

					Method method9 = newModelClass.getMethod("setPhoneMobile",
							new Class[] { String.class });

					String value9 = oldCplModel.getPhoneMobile();

					method9.invoke(newModel, value9);

					Method method10 = newModelClass.getMethod("setFax",
							new Class[] { String.class });

					String value10 = oldCplModel.getFax();

					method10.invoke(newModel, value10);

					Method method11 = newModelClass.getMethod("setEmailAddress",
							new Class[] { String.class });

					String value11 = oldCplModel.getEmailAddress();

					method11.invoke(newModel, value11);

					Method method12 = newModelClass.getMethod("setIdentificationDoc",
							new Class[] { String.class });

					String value12 = oldCplModel.getIdentificationDoc();

					method12.invoke(newModel, value12);

					Method method13 = newModelClass.getMethod("setIdentificationDocNo",
							new Class[] { String.class });

					String value13 = oldCplModel.getIdentificationDocNo();

					method13.invoke(newModel, value13);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(Property_InformationClp.class.getName())) {
			Property_InformationClp oldCplModel = (Property_InformationClp)oldModel;

			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Class<?> newModelClass = Class.forName("com.crossriver.crgis.database.model.impl.Property_InformationImpl",
							true, _classLoader);

					Object newModel = newModelClass.newInstance();

					Method method0 = newModelClass.getMethod("setApplicationId",
							new Class[] { String.class });

					String value0 = oldCplModel.getApplicationId();

					method0.invoke(newModel, value0);

					Method method1 = newModelClass.getMethod("setUserId",
							new Class[] { String.class });

					String value1 = oldCplModel.getUserId();

					method1.invoke(newModel, value1);

					Method method2 = newModelClass.getMethod("setPropertyType",
							new Class[] { String.class });

					String value2 = oldCplModel.getPropertyType();

					method2.invoke(newModel, value2);

					Method method3 = newModelClass.getMethod("setBlockNo",
							new Class[] { String.class });

					String value3 = oldCplModel.getBlockNo();

					method3.invoke(newModel, value3);

					Method method4 = newModelClass.getMethod("setPlotNo",
							new Class[] { String.class });

					String value4 = oldCplModel.getPlotNo();

					method4.invoke(newModel, value4);

					Method method5 = newModelClass.getMethod("setArea",
							new Class[] { Double.TYPE });

					Double value5 = new Double(oldCplModel.getArea());

					method5.invoke(newModel, value5);

					Method method6 = newModelClass.getMethod("setUom",
							new Class[] { String.class });

					String value6 = oldCplModel.getUom();

					method6.invoke(newModel, value6);

					Method method7 = newModelClass.getMethod("setLandLocation",
							new Class[] { String.class });

					String value7 = oldCplModel.getLandLocation();

					method7.invoke(newModel, value7);

					Method method8 = newModelClass.getMethod("setCity",
							new Class[] { String.class });

					String value8 = oldCplModel.getCity();

					method8.invoke(newModel, value8);

					Method method9 = newModelClass.getMethod("setState",
							new Class[] { String.class });

					String value9 = oldCplModel.getState();

					method9.invoke(newModel, value9);

					Method method10 = newModelClass.getMethod("setCountry",
							new Class[] { String.class });

					String value10 = oldCplModel.getCountry();

					method10.invoke(newModel, value10);

					Method method11 = newModelClass.getMethod("setOrigCofODate",
							new Class[] { Date.class });

					Date value11 = oldCplModel.getOrigCofODate();

					method11.invoke(newModel, value11);

					Method method12 = newModelClass.getMethod("setOtherUsefulInformation",
							new Class[] { String.class });

					String value12 = oldCplModel.getOtherUsefulInformation();

					method12.invoke(newModel, value12);

					Method method13 = newModelClass.getMethod("setAllocationMadToYou",
							new Class[] { String.class });

					String value13 = oldCplModel.getAllocationMadToYou();

					method13.invoke(newModel, value13);

					Method method14 = newModelClass.getMethod("setAssignedToYou",
							new Class[] { String.class });

					String value14 = oldCplModel.getAssignedToYou();

					method14.invoke(newModel, value14);

					Method method15 = newModelClass.getMethod("setLocationType",
							new Class[] { String.class });

					String value15 = oldCplModel.getLocationType();

					method15.invoke(newModel, value15);

					Method method16 = newModelClass.getMethod("setLga",
							new Class[] { String.class });

					String value16 = oldCplModel.getLga();

					method16.invoke(newModel, value16);

					Method method17 = newModelClass.getMethod("setTown",
							new Class[] { String.class });

					String value17 = oldCplModel.getTown();

					method17.invoke(newModel, value17);

					Method method18 = newModelClass.getMethod("setVillage",
							new Class[] { String.class });

					String value18 = oldCplModel.getVillage();

					method18.invoke(newModel, value18);

					Method method19 = newModelClass.getMethod("setTerm",
							new Class[] { String.class });

					String value19 = oldCplModel.getTerm();

					method19.invoke(newModel, value19);

					Method method20 = newModelClass.getMethod("setEstDevCost",
							new Class[] { String.class });

					String value20 = oldCplModel.getEstDevCost();

					method20.invoke(newModel, value20);

					Method method21 = newModelClass.getMethod("setEstStartDate",
							new Class[] { Date.class });

					Date value21 = oldCplModel.getEstStartDate();

					method21.invoke(newModel, value21);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(Held_PlotsClp.class.getName())) {
			Held_PlotsClp oldCplModel = (Held_PlotsClp)oldModel;

			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Class<?> newModelClass = Class.forName("com.crossriver.crgis.database.model.impl.Held_PlotsImpl",
							true, _classLoader);

					Object newModel = newModelClass.newInstance();

					Method method0 = newModelClass.getMethod("setHeld_id",
							new Class[] { String.class });

					String value0 = oldCplModel.getHeld_id();

					method0.invoke(newModel, value0);

					Method method1 = newModelClass.getMethod("setUserId",
							new Class[] { String.class });

					String value1 = oldCplModel.getUserId();

					method1.invoke(newModel, value1);

					Method method2 = newModelClass.getMethod("setApplicationId",
							new Class[] { String.class });

					String value2 = oldCplModel.getApplicationId();

					method2.invoke(newModel, value2);

					Method method3 = newModelClass.getMethod("setLocation",
							new Class[] { String.class });

					String value3 = oldCplModel.getLocation();

					method3.invoke(newModel, value3);

					Method method4 = newModelClass.getMethod("setArea",
							new Class[] { String.class });

					String value4 = oldCplModel.getArea();

					method4.invoke(newModel, value4);

					Method method5 = newModelClass.getMethod("setDeveloped",
							new Class[] { String.class });

					String value5 = oldCplModel.getDeveloped();

					method5.invoke(newModel, value5);

					Method method6 = newModelClass.getMethod("setAcquisitionMode",
							new Class[] { String.class });

					String value6 = oldCplModel.getAcquisitionMode();

					method6.invoke(newModel, value6);

					Method method7 = newModelClass.getMethod("setRegParticulars",
							new Class[] { String.class });

					String value7 = oldCplModel.getRegParticulars();

					method7.invoke(newModel, value7);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(History_Of_InformationClp.class.getName())) {
			History_Of_InformationClp oldCplModel = (History_Of_InformationClp)oldModel;

			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Class<?> newModelClass = Class.forName("com.crossriver.crgis.database.model.impl.History_Of_InformationImpl",
							true, _classLoader);

					Object newModel = newModelClass.newInstance();

					Method method0 = newModelClass.getMethod("setHistoryInfoId",
							new Class[] { String.class });

					String value0 = oldCplModel.getHistoryInfoId();

					method0.invoke(newModel, value0);

					Method method1 = newModelClass.getMethod("setApplicationId",
							new Class[] { String.class });

					String value1 = oldCplModel.getApplicationId();

					method1.invoke(newModel, value1);

					Method method2 = newModelClass.getMethod("setUserId",
							new Class[] { String.class });

					String value2 = oldCplModel.getUserId();

					method2.invoke(newModel, value2);

					Method method3 = newModelClass.getMethod("setOldApplicationId",
							new Class[] { String.class });

					String value3 = oldCplModel.getOldApplicationId();

					method3.invoke(newModel, value3);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(TransactionsClp.class.getName())) {
			TransactionsClp oldCplModel = (TransactionsClp)oldModel;

			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Class<?> newModelClass = Class.forName("com.crossriver.crgis.database.model.impl.TransactionsImpl",
							true, _classLoader);

					Object newModel = newModelClass.newInstance();

					Method method0 = newModelClass.getMethod("setTransactionNo",
							new Class[] { String.class });

					String value0 = oldCplModel.getTransactionNo();

					method0.invoke(newModel, value0);

					Method method1 = newModelClass.getMethod("setUserId",
							new Class[] { String.class });

					String value1 = oldCplModel.getUserId();

					method1.invoke(newModel, value1);

					Method method2 = newModelClass.getMethod("setTransactionRef",
							new Class[] { String.class });

					String value2 = oldCplModel.getTransactionRef();

					method2.invoke(newModel, value2);

					Method method3 = newModelClass.getMethod("setItemId",
							new Class[] { String.class });

					String value3 = oldCplModel.getItemId();

					method3.invoke(newModel, value3);

					Method method4 = newModelClass.getMethod("setItemDescription",
							new Class[] { String.class });

					String value4 = oldCplModel.getItemDescription();

					method4.invoke(newModel, value4);

					Method method5 = newModelClass.getMethod("setPaymentType",
							new Class[] { String.class });

					String value5 = oldCplModel.getPaymentType();

					method5.invoke(newModel, value5);

					Method method6 = newModelClass.getMethod("setPaymentDate",
							new Class[] { Date.class });

					Date value6 = oldCplModel.getPaymentDate();

					method6.invoke(newModel, value6);

					Method method7 = newModelClass.getMethod("setReceiptNo",
							new Class[] { String.class });

					String value7 = oldCplModel.getReceiptNo();

					method7.invoke(newModel, value7);

					Method method8 = newModelClass.getMethod("setInvoiceNo",
							new Class[] { String.class });

					String value8 = oldCplModel.getInvoiceNo();

					method8.invoke(newModel, value8);

					Method method9 = newModelClass.getMethod("setApplicationType",
							new Class[] { String.class });

					String value9 = oldCplModel.getApplicationType();

					method9.invoke(newModel, value9);

					Method method10 = newModelClass.getMethod("setBankCode",
							new Class[] { String.class });

					String value10 = oldCplModel.getBankCode();

					method10.invoke(newModel, value10);

					Method method11 = newModelClass.getMethod("setBankName",
							new Class[] { String.class });

					String value11 = oldCplModel.getBankName();

					method11.invoke(newModel, value11);

					Method method12 = newModelClass.getMethod("setBankReference",
							new Class[] { String.class });

					String value12 = oldCplModel.getBankReference();

					method12.invoke(newModel, value12);

					Method method13 = newModelClass.getMethod("setAccountNo",
							new Class[] { String.class });

					String value13 = oldCplModel.getAccountNo();

					method13.invoke(newModel, value13);

					Method method14 = newModelClass.getMethod("setAmount",
							new Class[] { Double.TYPE });

					Double value14 = new Double(oldCplModel.getAmount());

					method14.invoke(newModel, value14);

					Method method15 = newModelClass.getMethod("setApprovedAmount",
							new Class[] { Double.TYPE });

					Double value15 = new Double(oldCplModel.getApprovedAmount());

					method15.invoke(newModel, value15);

					Method method16 = newModelClass.getMethod("setTransactionFee",
							new Class[] { Double.TYPE });

					Double value16 = new Double(oldCplModel.getTransactionFee());

					method16.invoke(newModel, value16);

					Method method17 = newModelClass.getMethod("setBatchId",
							new Class[] { String.class });

					String value17 = oldCplModel.getBatchId();

					method17.invoke(newModel, value17);

					Method method18 = newModelClass.getMethod("setStatus",
							new Class[] { String.class });

					String value18 = oldCplModel.getStatus();

					method18.invoke(newModel, value18);

					Method method19 = newModelClass.getMethod("setResponseCode",
							new Class[] { String.class });

					String value19 = oldCplModel.getResponseCode();

					method19.invoke(newModel, value19);

					Method method20 = newModelClass.getMethod("setResponseDescription",
							new Class[] { String.class });

					String value20 = oldCplModel.getResponseDescription();

					method20.invoke(newModel, value20);

					Method method21 = newModelClass.getMethod("setPayRef",
							new Class[] { String.class });

					String value21 = oldCplModel.getPayRef();

					method21.invoke(newModel, value21);

					Method method22 = newModelClass.getMethod("setRetRef",
							new Class[] { String.class });

					String value22 = oldCplModel.getRetRef();

					method22.invoke(newModel, value22);

					Method method23 = newModelClass.getMethod("setCardNum",
							new Class[] { String.class });

					String value23 = oldCplModel.getCardNum();

					method23.invoke(newModel, value23);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(Bank_Payment_SlipClp.class.getName())) {
			Bank_Payment_SlipClp oldCplModel = (Bank_Payment_SlipClp)oldModel;

			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Class<?> newModelClass = Class.forName("com.crossriver.crgis.database.model.impl.Bank_Payment_SlipImpl",
							true, _classLoader);

					Object newModel = newModelClass.newInstance();

					Method method0 = newModelClass.getMethod("setDepSlipNo",
							new Class[] { String.class });

					String value0 = oldCplModel.getDepSlipNo();

					method0.invoke(newModel, value0);

					Method method1 = newModelClass.getMethod("setUserId",
							new Class[] { String.class });

					String value1 = oldCplModel.getUserId();

					method1.invoke(newModel, value1);

					Method method2 = newModelClass.getMethod("setRegistedDate",
							new Class[] { Date.class });

					Date value2 = oldCplModel.getRegistedDate();

					method2.invoke(newModel, value2);

					Method method3 = newModelClass.getMethod("setApplicationId",
							new Class[] { String.class });

					String value3 = oldCplModel.getApplicationId();

					method3.invoke(newModel, value3);

					Method method4 = newModelClass.getMethod("setDepositorName",
							new Class[] { String.class });

					String value4 = oldCplModel.getDepositorName();

					method4.invoke(newModel, value4);

					Method method5 = newModelClass.getMethod("setPaidAmount",
							new Class[] { Double.TYPE });

					Double value5 = new Double(oldCplModel.getPaidAmount());

					method5.invoke(newModel, value5);

					Method method6 = newModelClass.getMethod("setApprovedAmount",
							new Class[] { Double.TYPE });

					Double value6 = new Double(oldCplModel.getApprovedAmount());

					method6.invoke(newModel, value6);

					Method method7 = newModelClass.getMethod("setBankName",
							new Class[] { String.class });

					String value7 = oldCplModel.getBankName();

					method7.invoke(newModel, value7);

					Method method8 = newModelClass.getMethod("setUploadDepositSlip",
							new Class[] { String.class });

					String value8 = oldCplModel.getUploadDepositSlip();

					method8.invoke(newModel, value8);

					Method method9 = newModelClass.getMethod("setUploadDepositSlipFilename",
							new Class[] { String.class });

					String value9 = oldCplModel.getUploadDepositSlipFilename();

					method9.invoke(newModel, value9);

					Method method10 = newModelClass.getMethod("setUploadDepositSlipDocName",
							new Class[] { String.class });

					String value10 = oldCplModel.getUploadDepositSlipDocName();

					method10.invoke(newModel, value10);

					Method method11 = newModelClass.getMethod("setStatus",
							new Class[] { String.class });

					String value11 = oldCplModel.getStatus();

					method11.invoke(newModel, value11);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		return oldModel;
	}

	public static Object translateInput(List<Object> oldList) {
		List<Object> newList = new ArrayList<Object>(oldList.size());

		for (int i = 0; i < oldList.size(); i++) {
			Object curObj = oldList.get(i);

			newList.add(translateInput(curObj));
		}

		return newList;
	}

	public static Object translateInput(Object obj) {
		if (obj instanceof BaseModel<?>) {
			return translateInput((BaseModel<?>)obj);
		}
		else if (obj instanceof List<?>) {
			return translateInput((List<Object>)obj);
		}
		else {
			return obj;
		}
	}

	public static Object translateOutput(BaseModel<?> oldModel) {
		Class<?> oldModelClass = oldModel.getClass();

		String oldModelClassName = oldModelClass.getName();

		if (oldModelClassName.equals(
					"com.crossriver.crgis.database.model.impl.Application_C_of_OImpl")) {
			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Application_C_of_OClp newModel = new Application_C_of_OClp();

					Method method0 = oldModelClass.getMethod("getApplicationId");

					String value0 = (String)method0.invoke(oldModel,
							(Object[])null);

					newModel.setApplicationId(value0);

					Method method1 = oldModelClass.getMethod("getUserId");

					String value1 = (String)method1.invoke(oldModel,
							(Object[])null);

					newModel.setUserId(value1);

					Method method2 = oldModelClass.getMethod(
							"getApplicationStartDate");

					Date value2 = (Date)method2.invoke(oldModel, (Object[])null);

					newModel.setApplicationStartDate(value2);

					Method method3 = oldModelClass.getMethod(
							"getDateOfApplication");

					Date value3 = (Date)method3.invoke(oldModel, (Object[])null);

					newModel.setDateOfApplication(value3);

					Method method4 = oldModelClass.getMethod("getFileNo");

					String value4 = (String)method4.invoke(oldModel,
							(Object[])null);

					newModel.setFileNo(value4);

					Method method5 = oldModelClass.getMethod("getOldCofONo");

					String value5 = (String)method5.invoke(oldModel,
							(Object[])null);

					newModel.setOldCofONo(value5);

					Method method6 = oldModelClass.getMethod("getApplication");

					String value6 = (String)method6.invoke(oldModel,
							(Object[])null);

					newModel.setApplication(value6);

					Method method7 = oldModelClass.getMethod(
							"getApplicationType");

					String value7 = (String)method7.invoke(oldModel,
							(Object[])null);

					newModel.setApplicationType(value7);

					Method method8 = oldModelClass.getMethod(
							"getDateOfIssuance");

					Date value8 = (Date)method8.invoke(oldModel, (Object[])null);

					newModel.setDateOfIssuance(value8);

					Method method9 = oldModelClass.getMethod(
							"getPreviousCofONumber");

					String value9 = (String)method9.invoke(oldModel,
							(Object[])null);

					newModel.setPreviousCofONumber(value9);

					Method method10 = oldModelClass.getMethod("getLandUseType");

					String value10 = (String)method10.invoke(oldModel,
							(Object[])null);

					newModel.setLandUseType(value10);

					Method method11 = oldModelClass.getMethod(
							"getLandUsePurpose");

					String value11 = (String)method11.invoke(oldModel,
							(Object[])null);

					newModel.setLandUsePurpose(value11);

					Method method12 = oldModelClass.getMethod("getAttestation");

					String value12 = (String)method12.invoke(oldModel,
							(Object[])null);

					newModel.setAttestation(value12);

					Method method13 = oldModelClass.getMethod("getStatus");

					String value13 = (String)method13.invoke(oldModel,
							(Object[])null);

					newModel.setStatus(value13);

					Method method14 = oldModelClass.getMethod("getReferenceNo");

					String value14 = (String)method14.invoke(oldModel,
							(Object[])null);

					newModel.setReferenceNo(value14);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(
					"com.crossriver.crgis.database.model.impl.Supporting_DocumentImpl")) {
			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Supporting_DocumentClp newModel = new Supporting_DocumentClp();

					Method method0 = oldModelClass.getMethod("getDocumentId");

					String value0 = (String)method0.invoke(oldModel,
							(Object[])null);

					newModel.setDocumentId(value0);

					Method method1 = oldModelClass.getMethod("getApplicationId");

					String value1 = (String)method1.invoke(oldModel,
							(Object[])null);

					newModel.setApplicationId(value1);

					Method method2 = oldModelClass.getMethod("getUserId");

					String value2 = (String)method2.invoke(oldModel,
							(Object[])null);

					newModel.setUserId(value2);

					Method method3 = oldModelClass.getMethod("getFileName");

					String value3 = (String)method3.invoke(oldModel,
							(Object[])null);

					newModel.setFileName(value3);

					Method method4 = oldModelClass.getMethod("getDocumentName");

					String value4 = (String)method4.invoke(oldModel,
							(Object[])null);

					newModel.setDocumentName(value4);

					Method method5 = oldModelClass.getMethod("getRequired");

					String value5 = (String)method5.invoke(oldModel,
							(Object[])null);

					newModel.setRequired(value5);

					Method method6 = oldModelClass.getMethod("getDocumentType");

					String value6 = (String)method6.invoke(oldModel,
							(Object[])null);

					newModel.setDocumentType(value6);

					Method method7 = oldModelClass.getMethod(
							"getDocumentUpload");

					String value7 = (String)method7.invoke(oldModel,
							(Object[])null);

					newModel.setDocumentUpload(value7);

					Method method8 = oldModelClass.getMethod("getUploadedDate");

					Date value8 = (Date)method8.invoke(oldModel, (Object[])null);

					newModel.setUploadedDate(value8);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(
					"com.crossriver.crgis.database.model.impl.DocumentsImpl")) {
			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					DocumentsClp newModel = new DocumentsClp();

					Method method0 = oldModelClass.getMethod("getDocumentId");

					String value0 = (String)method0.invoke(oldModel,
							(Object[])null);

					newModel.setDocumentId(value0);

					Method method1 = oldModelClass.getMethod("getUserId");

					String value1 = (String)method1.invoke(oldModel,
							(Object[])null);

					newModel.setUserId(value1);

					Method method2 = oldModelClass.getMethod("getApplicationId");

					String value2 = (String)method2.invoke(oldModel,
							(Object[])null);

					newModel.setApplicationId(value2);

					Method method3 = oldModelClass.getMethod(
							"getDocumentUpload");

					String value3 = (String)method3.invoke(oldModel,
							(Object[])null);

					newModel.setDocumentUpload(value3);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(
					"com.crossriver.crgis.database.model.impl.Individual_InformationImpl")) {
			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Individual_InformationClp newModel = new Individual_InformationClp();

					Method method0 = oldModelClass.getMethod("getApplicationId");

					String value0 = (String)method0.invoke(oldModel,
							(Object[])null);

					newModel.setApplicationId(value0);

					Method method1 = oldModelClass.getMethod("getUserId");

					String value1 = (String)method1.invoke(oldModel,
							(Object[])null);

					newModel.setUserId(value1);

					Method method2 = oldModelClass.getMethod("getTitle");

					String value2 = (String)method2.invoke(oldModel,
							(Object[])null);

					newModel.setTitle(value2);

					Method method3 = oldModelClass.getMethod("getLastName");

					String value3 = (String)method3.invoke(oldModel,
							(Object[])null);

					newModel.setLastName(value3);

					Method method4 = oldModelClass.getMethod("getFirstName");

					String value4 = (String)method4.invoke(oldModel,
							(Object[])null);

					newModel.setFirstName(value4);

					Method method5 = oldModelClass.getMethod("getMiddleName");

					String value5 = (String)method5.invoke(oldModel,
							(Object[])null);

					newModel.setMiddleName(value5);

					Method method6 = oldModelClass.getMethod("getDateOfBirth");

					Date value6 = (Date)method6.invoke(oldModel, (Object[])null);

					newModel.setDateOfBirth(value6);

					Method method7 = oldModelClass.getMethod("getOccupation");

					String value7 = (String)method7.invoke(oldModel,
							(Object[])null);

					newModel.setOccupation(value7);

					Method method8 = oldModelClass.getMethod("getGender");

					String value8 = (String)method8.invoke(oldModel,
							(Object[])null);

					newModel.setGender(value8);

					Method method9 = oldModelClass.getMethod("getReligion");

					String value9 = (String)method9.invoke(oldModel,
							(Object[])null);

					newModel.setReligion(value9);

					Method method10 = oldModelClass.getMethod("getEducation");

					String value10 = (String)method10.invoke(oldModel,
							(Object[])null);

					newModel.setEducation(value10);

					Method method11 = oldModelClass.getMethod("getNationality");

					String value11 = (String)method11.invoke(oldModel,
							(Object[])null);

					newModel.setNationality(value11);

					Method method12 = oldModelClass.getMethod(
							"getStateOfOrigin");

					String value12 = (String)method12.invoke(oldModel,
							(Object[])null);

					newModel.setStateOfOrigin(value12);

					Method method13 = oldModelClass.getMethod("getLga");

					String value13 = (String)method13.invoke(oldModel,
							(Object[])null);

					newModel.setLga(value13);

					Method method14 = oldModelClass.getMethod(
							"getMaritalStatus");

					String value14 = (String)method14.invoke(oldModel,
							(Object[])null);

					newModel.setMaritalStatus(value14);

					Method method15 = oldModelClass.getMethod("getNoOfChildren");

					Integer value15 = (Integer)method15.invoke(oldModel,
							(Object[])null);

					newModel.setNoOfChildren(value15);

					Method method16 = oldModelClass.getMethod(
							"getIdentificationDoc");

					String value16 = (String)method16.invoke(oldModel,
							(Object[])null);

					newModel.setIdentificationDoc(value16);

					Method method17 = oldModelClass.getMethod(
							"getIdentificationDocNo");

					String value17 = (String)method17.invoke(oldModel,
							(Object[])null);

					newModel.setIdentificationDocNo(value17);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(
					"com.crossriver.crgis.database.model.impl.Organisation_InformationImpl")) {
			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Organisation_InformationClp newModel = new Organisation_InformationClp();

					Method method0 = oldModelClass.getMethod("getApplicationId");

					String value0 = (String)method0.invoke(oldModel,
							(Object[])null);

					newModel.setApplicationId(value0);

					Method method1 = oldModelClass.getMethod("getUserId");

					String value1 = (String)method1.invoke(oldModel,
							(Object[])null);

					newModel.setUserId(value1);

					Method method2 = oldModelClass.getMethod(
							"getOrganisationName");

					String value2 = (String)method2.invoke(oldModel,
							(Object[])null);

					newModel.setOrganisationName(value2);

					Method method3 = oldModelClass.getMethod(
							"getNatureOfBusiness");

					String value3 = (String)method3.invoke(oldModel,
							(Object[])null);

					newModel.setNatureOfBusiness(value3);

					Method method4 = oldModelClass.getMethod("getRegNo");

					String value4 = (String)method4.invoke(oldModel,
							(Object[])null);

					newModel.setRegNo(value4);

					Method method5 = oldModelClass.getMethod("getCountryOfReg");

					String value5 = (String)method5.invoke(oldModel,
							(Object[])null);

					newModel.setCountryOfReg(value5);

					Method method6 = oldModelClass.getMethod(
							"getDateOfRegistration");

					Date value6 = (Date)method6.invoke(oldModel, (Object[])null);

					newModel.setDateOfRegistration(value6);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(
					"com.crossriver.crgis.database.model.impl.Contact_InformationImpl")) {
			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Contact_InformationClp newModel = new Contact_InformationClp();

					Method method0 = oldModelClass.getMethod("getApplicationId");

					String value0 = (String)method0.invoke(oldModel,
							(Object[])null);

					newModel.setApplicationId(value0);

					Method method1 = oldModelClass.getMethod("getUserId");

					String value1 = (String)method1.invoke(oldModel,
							(Object[])null);

					newModel.setUserId(value1);

					Method method2 = oldModelClass.getMethod("getHouseNo");

					String value2 = (String)method2.invoke(oldModel,
							(Object[])null);

					newModel.setHouseNo(value2);

					Method method3 = oldModelClass.getMethod("getAddressLine1");

					String value3 = (String)method3.invoke(oldModel,
							(Object[])null);

					newModel.setAddressLine1(value3);

					Method method4 = oldModelClass.getMethod("getAddressLine2");

					String value4 = (String)method4.invoke(oldModel,
							(Object[])null);

					newModel.setAddressLine2(value4);

					Method method5 = oldModelClass.getMethod("getCity");

					String value5 = (String)method5.invoke(oldModel,
							(Object[])null);

					newModel.setCity(value5);

					Method method6 = oldModelClass.getMethod("getState");

					String value6 = (String)method6.invoke(oldModel,
							(Object[])null);

					newModel.setState(value6);

					Method method7 = oldModelClass.getMethod("getCountry");

					String value7 = (String)method7.invoke(oldModel,
							(Object[])null);

					newModel.setCountry(value7);

					Method method8 = oldModelClass.getMethod("getPhoneHome");

					String value8 = (String)method8.invoke(oldModel,
							(Object[])null);

					newModel.setPhoneHome(value8);

					Method method9 = oldModelClass.getMethod("getPhoneOffice");

					String value9 = (String)method9.invoke(oldModel,
							(Object[])null);

					newModel.setPhoneOffice(value9);

					Method method10 = oldModelClass.getMethod("getPhoneMobile");

					String value10 = (String)method10.invoke(oldModel,
							(Object[])null);

					newModel.setPhoneMobile(value10);

					Method method11 = oldModelClass.getMethod("getFax");

					String value11 = (String)method11.invoke(oldModel,
							(Object[])null);

					newModel.setFax(value11);

					Method method12 = oldModelClass.getMethod("getPoBox");

					String value12 = (String)method12.invoke(oldModel,
							(Object[])null);

					newModel.setPoBox(value12);

					Method method13 = oldModelClass.getMethod("getLga");

					String value13 = (String)method13.invoke(oldModel,
							(Object[])null);

					newModel.setLga(value13);

					Method method14 = oldModelClass.getMethod("getEmailAddress");

					String value14 = (String)method14.invoke(oldModel,
							(Object[])null);

					newModel.setEmailAddress(value14);

					Method method15 = oldModelClass.getMethod(
							"getOtherInformation");

					String value15 = (String)method15.invoke(oldModel,
							(Object[])null);

					newModel.setOtherInformation(value15);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(
					"com.crossriver.crgis.database.model.impl.Company_Contact_PersonImpl")) {
			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Company_Contact_PersonClp newModel = new Company_Contact_PersonClp();

					Method method0 = oldModelClass.getMethod("getApplicationId");

					String value0 = (String)method0.invoke(oldModel,
							(Object[])null);

					newModel.setApplicationId(value0);

					Method method1 = oldModelClass.getMethod("getUserId");

					String value1 = (String)method1.invoke(oldModel,
							(Object[])null);

					newModel.setUserId(value1);

					Method method2 = oldModelClass.getMethod("getDesignation");

					String value2 = (String)method2.invoke(oldModel,
							(Object[])null);

					newModel.setDesignation(value2);

					Method method3 = oldModelClass.getMethod("getTitle");

					String value3 = (String)method3.invoke(oldModel,
							(Object[])null);

					newModel.setTitle(value3);

					Method method4 = oldModelClass.getMethod("getLastName");

					String value4 = (String)method4.invoke(oldModel,
							(Object[])null);

					newModel.setLastName(value4);

					Method method5 = oldModelClass.getMethod("getFirstName");

					String value5 = (String)method5.invoke(oldModel,
							(Object[])null);

					newModel.setFirstName(value5);

					Method method6 = oldModelClass.getMethod("getMiddleName");

					String value6 = (String)method6.invoke(oldModel,
							(Object[])null);

					newModel.setMiddleName(value6);

					Method method7 = oldModelClass.getMethod("getPhoneHome");

					String value7 = (String)method7.invoke(oldModel,
							(Object[])null);

					newModel.setPhoneHome(value7);

					Method method8 = oldModelClass.getMethod("getPhoneOffice");

					String value8 = (String)method8.invoke(oldModel,
							(Object[])null);

					newModel.setPhoneOffice(value8);

					Method method9 = oldModelClass.getMethod("getPhoneMobile");

					String value9 = (String)method9.invoke(oldModel,
							(Object[])null);

					newModel.setPhoneMobile(value9);

					Method method10 = oldModelClass.getMethod("getFax");

					String value10 = (String)method10.invoke(oldModel,
							(Object[])null);

					newModel.setFax(value10);

					Method method11 = oldModelClass.getMethod("getEmailAddress");

					String value11 = (String)method11.invoke(oldModel,
							(Object[])null);

					newModel.setEmailAddress(value11);

					Method method12 = oldModelClass.getMethod(
							"getIdentificationDoc");

					String value12 = (String)method12.invoke(oldModel,
							(Object[])null);

					newModel.setIdentificationDoc(value12);

					Method method13 = oldModelClass.getMethod(
							"getIdentificationDocNo");

					String value13 = (String)method13.invoke(oldModel,
							(Object[])null);

					newModel.setIdentificationDocNo(value13);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(
					"com.crossriver.crgis.database.model.impl.Property_InformationImpl")) {
			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Property_InformationClp newModel = new Property_InformationClp();

					Method method0 = oldModelClass.getMethod("getApplicationId");

					String value0 = (String)method0.invoke(oldModel,
							(Object[])null);

					newModel.setApplicationId(value0);

					Method method1 = oldModelClass.getMethod("getUserId");

					String value1 = (String)method1.invoke(oldModel,
							(Object[])null);

					newModel.setUserId(value1);

					Method method2 = oldModelClass.getMethod("getPropertyType");

					String value2 = (String)method2.invoke(oldModel,
							(Object[])null);

					newModel.setPropertyType(value2);

					Method method3 = oldModelClass.getMethod("getBlockNo");

					String value3 = (String)method3.invoke(oldModel,
							(Object[])null);

					newModel.setBlockNo(value3);

					Method method4 = oldModelClass.getMethod("getPlotNo");

					String value4 = (String)method4.invoke(oldModel,
							(Object[])null);

					newModel.setPlotNo(value4);

					Method method5 = oldModelClass.getMethod("getArea");

					Double value5 = (Double)method5.invoke(oldModel,
							(Object[])null);

					newModel.setArea(value5);

					Method method6 = oldModelClass.getMethod("getUom");

					String value6 = (String)method6.invoke(oldModel,
							(Object[])null);

					newModel.setUom(value6);

					Method method7 = oldModelClass.getMethod("getLandLocation");

					String value7 = (String)method7.invoke(oldModel,
							(Object[])null);

					newModel.setLandLocation(value7);

					Method method8 = oldModelClass.getMethod("getCity");

					String value8 = (String)method8.invoke(oldModel,
							(Object[])null);

					newModel.setCity(value8);

					Method method9 = oldModelClass.getMethod("getState");

					String value9 = (String)method9.invoke(oldModel,
							(Object[])null);

					newModel.setState(value9);

					Method method10 = oldModelClass.getMethod("getCountry");

					String value10 = (String)method10.invoke(oldModel,
							(Object[])null);

					newModel.setCountry(value10);

					Method method11 = oldModelClass.getMethod("getOrigCofODate");

					Date value11 = (Date)method11.invoke(oldModel,
							(Object[])null);

					newModel.setOrigCofODate(value11);

					Method method12 = oldModelClass.getMethod(
							"getOtherUsefulInformation");

					String value12 = (String)method12.invoke(oldModel,
							(Object[])null);

					newModel.setOtherUsefulInformation(value12);

					Method method13 = oldModelClass.getMethod(
							"getAllocationMadToYou");

					String value13 = (String)method13.invoke(oldModel,
							(Object[])null);

					newModel.setAllocationMadToYou(value13);

					Method method14 = oldModelClass.getMethod(
							"getAssignedToYou");

					String value14 = (String)method14.invoke(oldModel,
							(Object[])null);

					newModel.setAssignedToYou(value14);

					Method method15 = oldModelClass.getMethod("getLocationType");

					String value15 = (String)method15.invoke(oldModel,
							(Object[])null);

					newModel.setLocationType(value15);

					Method method16 = oldModelClass.getMethod("getLga");

					String value16 = (String)method16.invoke(oldModel,
							(Object[])null);

					newModel.setLga(value16);

					Method method17 = oldModelClass.getMethod("getTown");

					String value17 = (String)method17.invoke(oldModel,
							(Object[])null);

					newModel.setTown(value17);

					Method method18 = oldModelClass.getMethod("getVillage");

					String value18 = (String)method18.invoke(oldModel,
							(Object[])null);

					newModel.setVillage(value18);

					Method method19 = oldModelClass.getMethod("getTerm");

					String value19 = (String)method19.invoke(oldModel,
							(Object[])null);

					newModel.setTerm(value19);

					Method method20 = oldModelClass.getMethod("getEstDevCost");

					String value20 = (String)method20.invoke(oldModel,
							(Object[])null);

					newModel.setEstDevCost(value20);

					Method method21 = oldModelClass.getMethod("getEstStartDate");

					Date value21 = (Date)method21.invoke(oldModel,
							(Object[])null);

					newModel.setEstStartDate(value21);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(
					"com.crossriver.crgis.database.model.impl.Held_PlotsImpl")) {
			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Held_PlotsClp newModel = new Held_PlotsClp();

					Method method0 = oldModelClass.getMethod("getHeld_id");

					String value0 = (String)method0.invoke(oldModel,
							(Object[])null);

					newModel.setHeld_id(value0);

					Method method1 = oldModelClass.getMethod("getUserId");

					String value1 = (String)method1.invoke(oldModel,
							(Object[])null);

					newModel.setUserId(value1);

					Method method2 = oldModelClass.getMethod("getApplicationId");

					String value2 = (String)method2.invoke(oldModel,
							(Object[])null);

					newModel.setApplicationId(value2);

					Method method3 = oldModelClass.getMethod("getLocation");

					String value3 = (String)method3.invoke(oldModel,
							(Object[])null);

					newModel.setLocation(value3);

					Method method4 = oldModelClass.getMethod("getArea");

					String value4 = (String)method4.invoke(oldModel,
							(Object[])null);

					newModel.setArea(value4);

					Method method5 = oldModelClass.getMethod("getDeveloped");

					String value5 = (String)method5.invoke(oldModel,
							(Object[])null);

					newModel.setDeveloped(value5);

					Method method6 = oldModelClass.getMethod(
							"getAcquisitionMode");

					String value6 = (String)method6.invoke(oldModel,
							(Object[])null);

					newModel.setAcquisitionMode(value6);

					Method method7 = oldModelClass.getMethod(
							"getRegParticulars");

					String value7 = (String)method7.invoke(oldModel,
							(Object[])null);

					newModel.setRegParticulars(value7);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(
					"com.crossriver.crgis.database.model.impl.History_Of_InformationImpl")) {
			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					History_Of_InformationClp newModel = new History_Of_InformationClp();

					Method method0 = oldModelClass.getMethod("getHistoryInfoId");

					String value0 = (String)method0.invoke(oldModel,
							(Object[])null);

					newModel.setHistoryInfoId(value0);

					Method method1 = oldModelClass.getMethod("getApplicationId");

					String value1 = (String)method1.invoke(oldModel,
							(Object[])null);

					newModel.setApplicationId(value1);

					Method method2 = oldModelClass.getMethod("getUserId");

					String value2 = (String)method2.invoke(oldModel,
							(Object[])null);

					newModel.setUserId(value2);

					Method method3 = oldModelClass.getMethod(
							"getOldApplicationId");

					String value3 = (String)method3.invoke(oldModel,
							(Object[])null);

					newModel.setOldApplicationId(value3);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(
					"com.crossriver.crgis.database.model.impl.TransactionsImpl")) {
			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					TransactionsClp newModel = new TransactionsClp();

					Method method0 = oldModelClass.getMethod("getTransactionNo");

					String value0 = (String)method0.invoke(oldModel,
							(Object[])null);

					newModel.setTransactionNo(value0);

					Method method1 = oldModelClass.getMethod("getUserId");

					String value1 = (String)method1.invoke(oldModel,
							(Object[])null);

					newModel.setUserId(value1);

					Method method2 = oldModelClass.getMethod(
							"getTransactionRef");

					String value2 = (String)method2.invoke(oldModel,
							(Object[])null);

					newModel.setTransactionRef(value2);

					Method method3 = oldModelClass.getMethod("getItemId");

					String value3 = (String)method3.invoke(oldModel,
							(Object[])null);

					newModel.setItemId(value3);

					Method method4 = oldModelClass.getMethod(
							"getItemDescription");

					String value4 = (String)method4.invoke(oldModel,
							(Object[])null);

					newModel.setItemDescription(value4);

					Method method5 = oldModelClass.getMethod("getPaymentType");

					String value5 = (String)method5.invoke(oldModel,
							(Object[])null);

					newModel.setPaymentType(value5);

					Method method6 = oldModelClass.getMethod("getPaymentDate");

					Date value6 = (Date)method6.invoke(oldModel, (Object[])null);

					newModel.setPaymentDate(value6);

					Method method7 = oldModelClass.getMethod("getReceiptNo");

					String value7 = (String)method7.invoke(oldModel,
							(Object[])null);

					newModel.setReceiptNo(value7);

					Method method8 = oldModelClass.getMethod("getInvoiceNo");

					String value8 = (String)method8.invoke(oldModel,
							(Object[])null);

					newModel.setInvoiceNo(value8);

					Method method9 = oldModelClass.getMethod(
							"getApplicationType");

					String value9 = (String)method9.invoke(oldModel,
							(Object[])null);

					newModel.setApplicationType(value9);

					Method method10 = oldModelClass.getMethod("getBankCode");

					String value10 = (String)method10.invoke(oldModel,
							(Object[])null);

					newModel.setBankCode(value10);

					Method method11 = oldModelClass.getMethod("getBankName");

					String value11 = (String)method11.invoke(oldModel,
							(Object[])null);

					newModel.setBankName(value11);

					Method method12 = oldModelClass.getMethod(
							"getBankReference");

					String value12 = (String)method12.invoke(oldModel,
							(Object[])null);

					newModel.setBankReference(value12);

					Method method13 = oldModelClass.getMethod("getAccountNo");

					String value13 = (String)method13.invoke(oldModel,
							(Object[])null);

					newModel.setAccountNo(value13);

					Method method14 = oldModelClass.getMethod("getAmount");

					Double value14 = (Double)method14.invoke(oldModel,
							(Object[])null);

					newModel.setAmount(value14);

					Method method15 = oldModelClass.getMethod(
							"getApprovedAmount");

					Double value15 = (Double)method15.invoke(oldModel,
							(Object[])null);

					newModel.setApprovedAmount(value15);

					Method method16 = oldModelClass.getMethod(
							"getTransactionFee");

					Double value16 = (Double)method16.invoke(oldModel,
							(Object[])null);

					newModel.setTransactionFee(value16);

					Method method17 = oldModelClass.getMethod("getBatchId");

					String value17 = (String)method17.invoke(oldModel,
							(Object[])null);

					newModel.setBatchId(value17);

					Method method18 = oldModelClass.getMethod("getStatus");

					String value18 = (String)method18.invoke(oldModel,
							(Object[])null);

					newModel.setStatus(value18);

					Method method19 = oldModelClass.getMethod("getResponseCode");

					String value19 = (String)method19.invoke(oldModel,
							(Object[])null);

					newModel.setResponseCode(value19);

					Method method20 = oldModelClass.getMethod(
							"getResponseDescription");

					String value20 = (String)method20.invoke(oldModel,
							(Object[])null);

					newModel.setResponseDescription(value20);

					Method method21 = oldModelClass.getMethod("getPayRef");

					String value21 = (String)method21.invoke(oldModel,
							(Object[])null);

					newModel.setPayRef(value21);

					Method method22 = oldModelClass.getMethod("getRetRef");

					String value22 = (String)method22.invoke(oldModel,
							(Object[])null);

					newModel.setRetRef(value22);

					Method method23 = oldModelClass.getMethod("getCardNum");

					String value23 = (String)method23.invoke(oldModel,
							(Object[])null);

					newModel.setCardNum(value23);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		if (oldModelClassName.equals(
					"com.crossriver.crgis.database.model.impl.Bank_Payment_SlipImpl")) {
			ClassLoader contextClassLoader = Thread.currentThread()
												   .getContextClassLoader();

			try {
				Thread.currentThread().setContextClassLoader(_classLoader);

				try {
					Bank_Payment_SlipClp newModel = new Bank_Payment_SlipClp();

					Method method0 = oldModelClass.getMethod("getDepSlipNo");

					String value0 = (String)method0.invoke(oldModel,
							(Object[])null);

					newModel.setDepSlipNo(value0);

					Method method1 = oldModelClass.getMethod("getUserId");

					String value1 = (String)method1.invoke(oldModel,
							(Object[])null);

					newModel.setUserId(value1);

					Method method2 = oldModelClass.getMethod("getRegistedDate");

					Date value2 = (Date)method2.invoke(oldModel, (Object[])null);

					newModel.setRegistedDate(value2);

					Method method3 = oldModelClass.getMethod("getApplicationId");

					String value3 = (String)method3.invoke(oldModel,
							(Object[])null);

					newModel.setApplicationId(value3);

					Method method4 = oldModelClass.getMethod("getDepositorName");

					String value4 = (String)method4.invoke(oldModel,
							(Object[])null);

					newModel.setDepositorName(value4);

					Method method5 = oldModelClass.getMethod("getPaidAmount");

					Double value5 = (Double)method5.invoke(oldModel,
							(Object[])null);

					newModel.setPaidAmount(value5);

					Method method6 = oldModelClass.getMethod(
							"getApprovedAmount");

					Double value6 = (Double)method6.invoke(oldModel,
							(Object[])null);

					newModel.setApprovedAmount(value6);

					Method method7 = oldModelClass.getMethod("getBankName");

					String value7 = (String)method7.invoke(oldModel,
							(Object[])null);

					newModel.setBankName(value7);

					Method method8 = oldModelClass.getMethod(
							"getUploadDepositSlip");

					String value8 = (String)method8.invoke(oldModel,
							(Object[])null);

					newModel.setUploadDepositSlip(value8);

					Method method9 = oldModelClass.getMethod(
							"getUploadDepositSlipFilename");

					String value9 = (String)method9.invoke(oldModel,
							(Object[])null);

					newModel.setUploadDepositSlipFilename(value9);

					Method method10 = oldModelClass.getMethod(
							"getUploadDepositSlipDocName");

					String value10 = (String)method10.invoke(oldModel,
							(Object[])null);

					newModel.setUploadDepositSlipDocName(value10);

					Method method11 = oldModelClass.getMethod("getStatus");

					String value11 = (String)method11.invoke(oldModel,
							(Object[])null);

					newModel.setStatus(value11);

					return newModel;
				}
				catch (Exception e) {
					_log.error(e, e);
				}
			}
			finally {
				Thread.currentThread().setContextClassLoader(contextClassLoader);
			}
		}

		return oldModel;
	}

	public static Object translateOutput(List<Object> oldList) {
		List<Object> newList = new ArrayList<Object>(oldList.size());

		for (int i = 0; i < oldList.size(); i++) {
			Object curObj = oldList.get(i);

			newList.add(translateOutput(curObj));
		}

		return newList;
	}

	public static Object translateOutput(Object obj) {
		if (obj instanceof BaseModel<?>) {
			return translateOutput((BaseModel<?>)obj);
		}
		else if (obj instanceof List<?>) {
			return translateOutput((List<Object>)obj);
		}
		else {
			return obj;
		}
	}

	private static Log _log = LogFactoryUtil.getLog(ClpSerializer.class);
	private static ClassLoader _classLoader;
}